The Web Cache Communication Protocol (WCCP) specifies interactions between one or more routers and one or more web caches to establish and maintain the transparent redirection of selected types of traffic flowing through a set of routers. The selected traffic is redirected to a group of web caches with the aim of optimizing resource usage and lowering response times. WCCP version 2.0 (v2.0) defines mechanisms to allow one or more routers enabled for transparent redirection to discover, verify, and advertise connectivity to one or more web caches. Having established connectivity the routers and web caches form Service Groups to handle the redirection of network traffic whose characteristics are part of the Service Group definition.
WCCP v2.0 allows a web cache to decline to service a redirected packet and to return it to a router to be forwarded. Packet redirection involves both a packet forwarding mechanism, by which a WCCP-enabled router forwards packets to a web cache, and a packet return mechanism, by which a web cache returns a packet for normal forwarding by the router. Forwarding and return of packets in WCCP can be accomplished using Layer 2 or Layer 3 (Generic Routing Encapsulation (GRE)) packet forwarding mechanisms. WCCP v2.0 allows individual web-caches to negotiate the method by which packets are forwarded to a web-cache from a router, and to negotiate the method by which packets are returned to a router from a web cache. However, by default, GRE is used for packet forwarding and return.
In most network environments, GRE is used for both the packet forwarding and return mechanisms. The use of GRE, however, does present certain challenges and disadvantages. For example, since WCCP operates transparently, web clients and servers typically generate packets having a maximum transmit size and do not account for the possibility that the transmitted packet will be encapsulated with a GRE header when forwarded by, or returned to, a WCCP-enabled router. Consequently, GRE overhead often causes a router to fragment over-sized packets forwarded to a web cache for processing, and to re-assemble returned packets that the web cache decides not to process and return for normal routing. These fragmentation and re-assembly operations may degrade network performance. Indeed, it has been observed that fragmentation and re-assembly processing can consume as much as 100 percent of the CPU cycles on a busy router. Furthermore, GRE encapsulation overhead and fragmentation also results in inefficient utilization of network bandwidth.
Layer 2 forwarding and return mechanisms, when available due to the network topology configuration, obviate the need for fragmentation, as there is no need for GRE encapsulation headers. Despite the advantages of implementing Layer 2 forwarding and return mechanisms, however, known web caches have not implemented Layer 2 packet return mechanisms due to technical challenges that, until the present invention, have yet to be overcome.